Embodiments of the present invention generally relate to telecommunications and more specifically to synchronizing information among three or more devices through three or more paths.
The user may have multiple devices that are used to perform tasks. For example, the user may use multiple devices in order to send/receive emails or manage calendar and address book. A personal computer, such as a desktop or laptop computer, may be used to send/receive emails in addition to a smaller mobile device, such as a personal digital assistant (PDA), mobile telephone (e.g., cellular telephone), blackberry device, etc. A user would like to use all these devices at different times. If messages/data records between all the devices are not synchronized, a user may not have an up to date view of data records on some devices.
If the user has a desktop/laptop computer and a mobile device, both devices may synchronize with a server or backend device. The desktop/laptop and mobile device each synchronize separately with the server. Other methods of synchronization may also be provided. For example, a desktop redirector found in the desktop/laptop may be used to redirect email data records to the mobile device or synchronize PIM. For example, an email message is received at the desktop redirector and stored in the desktop/laptop computer. The redirector then sends the email message to the mobile device. Thus, the mobile device and desktop/laptop computers are synchronized.
There may be cases where the mobile device and desktop/laptop computer may not be able to connect to synchronize with the server or desktop redirector. For example, if the mobile device is taken to an area where wireless coverage is not available, then the mobile device cannot be synchronized using the server and/or the desktop redirector. This is because the server and desktop redirector depend on the mobile device to have an active connection to the wireless network through which the email messages are sent. Thus, the devices may lose synchronization.
Also, there may be cases where one of the laptop or the desktop may be more recently connected to the server than the other and there is interest to update the other with the latest information. Also, information may be changed on one of the laptop or desktop and it is desirable that these changes are reflected in the other device. However, it may not always be convenient to connect back to the server, and thus the changes may not be immediately synchronized.